Method, apparatus and computer program product for developing and utilizing user pattern profiles

ABSTRACT

A method, apparatus and computer program product are provided for generating and utilizing a user pattern profile. In this regard, the user pattern profile can include information regarding service selections made on a user node and movements of a user. The generated user pattern profile can compared to a threshold profile, and based on the results of the comparison, an action can be undertaken.

TECHNOLOGICAL FIELD

Embodiments of the present invention relate generally to profiling usersor consumers, and more particularly, relate to a method, apparatus andcomputer program for developing and utilizing user pattern profiles bycapturing the actions of user prior to purchasing or otherwise obtaininga product or service.

BACKGROUND

It has long been the goal of vendors, such as department stores,restaurants and various content providers, to accurately predict thedesires and habits of consumers. In order to learn more about consumers,vendors often compile massive quantities of data concerning consumers.The compiled data can originate from a variety of sources and can covera variety of topics. Some vendors may use the demographic data of ageographical area. Others may track the purchases of a specific consumerto glean information about that consumer, or consumers generally. Somevendors compile data to generate consumer profiles, and the vendorsattempt to use these profiles to predict the habits and desires ofconsumers.

Unfortunately, conventional data gathering mechanisms and the associatedconsumer profiles cannot accurately predict a consumer's present desiresand habits because these consumer attributes are dynamic, given a timeand a setting. In some instances, for example, where a vendor has a VeryImportant Person (VIP) classification for repeat consumers, conventionalmechanisms may be satisfactory mechanisms to profile the consumerbecause history is available for the specific consumer. However, it ismore frequent that consumers are not repeat customers, but rather areshort-term, transient type consumers which must be profiled in real-timein order to achieve a useable level of accuracy. Attempts have been madeto use the purchase history of other consumers to predict the desires ofanother consumer. However, these mechanisms are inapplicable where nohistory exists. Even when history does exist, the mechanisms still donot effectively predict consumer desires. As a result, losses in salesand inferior consumer experiences can occur.

For example, consider a consumer that enters a shopping mall. At thetime of entry, the consumer may have a product or service in mind.However, conventional mechanisms are unable to predict the real-timedesires of the consumer. As such, vendors will be unaware of theconsumer's desire for a product or service, and the consumer may beunaware of the vendors that can provide the product or service. If thevendors were aware of the consumer and the consumer's desires, thevendors may find ways to cater to the desires of the consumer,benefiting both the vendors and the consumer. Additionally, usingconventional mechanisms, vendors have no means of identifying aconsumer's actual interest level in a particular product or service. Ifa vendor was aware of a consumer's interest level, the vendor may expendefforts efficiently on only those consumers with an appropriate interestlevel, and not expend efforts on uninterested consumers.

The negative attributes of conventional mechanisms can come as a resultof not incorporating information regarding a consumer's physical actionsprior to obtaining a desired product or service. Prior actions caninclude how a consumer navigates through information, such asadvertising information, and how the consumer physically moves thoughstores or shops. These consumer actions can provide importantinformation about a consumer's desires and habits. The actions canreveal a consumer's level of interest in a particular product or serviceand thus identify a target consumer to a particular store or shop. If aconsumer repeatedly visits a particular vendor before moving to othervendors, the actions of the consumer can be indicative of brand loyalty.Further, when aggregated across many consumers, the actions prior toobtaining a product or service, can be indicative of inferior orsuperior advertising or market power.

Accordingly, a need exists for a mechanism that can develop an accurateand current profile of a consumer or user. In particular, a need existsfor a mechanism that can incorporate the actions of a user prior toobtaining a product or service.

BRIEF SUMMARY

A method, apparatus and computer program product are therefore providedfor receiving the service selections of a user on a user node andreceiving location information with respect to the user node, where, insome embodiments, the service selections involve a user moving throughservice information such as advertisements. The service selections andlocation information can be used to update a user pattern profile. Insome embodiments, the user pattern profile can provide an indication ofthe real-time desires and habits of a user or consumer. Further, theuser pattern profile can be compared with a threshold profile. Basedupon the results of the comparison, an action can be undertaken.

In some embodiments the action undertaken as a result of the comparisonbetween the user pattern profile and the threshold profile can besending a message to the user node from the service node. The messagecan provide additional information to the user of the user noderegarding service selections that were previously made. In otherembodiments, the action undertaken as a result of the comparison betweenthe user pattern profile and the threshold profile can be notifying atrader node of the results and the trader node sending a message to theuser node. In some embodiments, a trader node can reside at a vendor'splace of business and be accessed by the vendor. In still otherembodiments, the action undertaken as a result of comparison between theuser pattern profile and the threshold profile can be alerting thetrader node of the results.

In some embodiments, the threshold profile can be updated. The thresholdprofile update can be received from the trader node. As a result, thethreshold profile can be updated on the service node. In someembodiments, a comparison of the user pattern profile with the updatedthreshold profile can be performed when the threshold profile isupdated. Based upon the results of the comparing the user patternprofile with the updated threshold profile an action can be undertaken.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described embodiments of the invention in general terms,reference will now be made to the accompanying drawings, which are notnecessarily drawn to scale, and wherein:

FIG. 1 is a schematic block diagram of a mobile terminal according to anexemplary embodiment of the present invention;

FIG. 2 a schematic block diagram of a wireless communications systemaccording to an exemplary embodiment of the present invention;

FIG. 3 is a schematic block diagram of a communications system accordingto an exemplary embodiment of the present invention;

FIG. 4 is a flow diagram depicting a method of developing and utilizinga user pattern profile according to an exemplary embodiment of thepresent invention;

FIG. 5 is a signaling diagram for initializing a user pattern profileaccording to an exemplary embodiment of the present invention;

FIG. 6 is a signaling diagram for updating a user pattern profileaccording to an exemplary embodiment of the present invention; and

FIG. 7 is a data chart aggregating user and store information accordingto an exemplary embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention will now be described more fullyhereinafter with reference to the accompanying drawings, in which some,but not all embodiments of the invention are shown. Indeed, theinvention may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will satisfy applicablelegal requirements. Like reference numerals refer to like elementsthroughout. Additionally, the term exemplary as used herein is intendedrefer to an example and should not be construed to indicate aqualitative assessment.

Various embodiments of the invention can be used to determine andimplement a user pattern profile of a user, where the user patternprofile can be comprised of touch patterns and move patterns. The touchpatterns can be a log of the sequence and type of user serviceselections made by a user when interacting with service information,such as, for example, advertising information that has been pushed to acellular telephone or other mobile device upon entry into a shoppingmall. As a user navigates through the service information, theselections, the ordering of the selections, and other selection relatedinformation can be stored as a touch pattern in the user patternprofile. A move pattern can also be generated by tracking and loggingthe physical movements of the user after the user has interacted withthe service information. For example, the move pattern may describe auser's movements within a shopping mall. The pattern can include, forexample, the stores that were visited, the order in which the storeswere visited, the length of time spent in a store, or any other movementrelated information. By combining one or more touch patterns andmovement patterns a user pattern profile can be generated, which can beused to identify regular consumers. According to various embodiments,the user pattern profile can be used in to reveal the desires and habitsof a user. Additionally, one or more user pattern profiles can becompared to a predefined threshold profile. If the data within one ormore user pattern profiles reaches or exceeds values within thethreshold profile, appropriate actions can be taken.

FIG. 1 illustrates a block diagram of a mobile terminal 10 that wouldbenefit from embodiments of the present invention. It should beunderstood, however, that a mobile telephone as illustrated andhereinafter described is merely illustrative of one type of mobileterminal that would benefit from embodiments of the present inventionand, therefore, should not be taken to limit the scope of embodiments ofthe present invention. While one embodiment of the mobile terminal 10 isillustrated and will be hereinafter described for purposes of example,other types of mobile terminals, such as portable digital assistants(PDAs), mobile phones, mobile communication devices, pagers, mobilecomputers, mobile televisions, gaming devices, laptop computers,cameras, audio/video recorders, audio/video players, positioning (suchas Global Positioning System (GPS)) devices and other types of voice andtext communications systems, or any combination of the aforementioned,can readily employ embodiments of the present invention. Furthermore,devices that are not mobile may also readily employ embodiments of thepresent invention.

Embodiments of the present invention will be primarily described belowin conjunction with mobile communications applications. However, itshould be understood that the system and method of embodiments of thepresent invention can be utilized in conjunction with a variety of otherapplications, both in the mobile communications industries and outsideof the mobile communications industries.

The mobile terminal 10 includes an antenna 12 (or multiple antennae) inoperable communication with a transmitter 14 and a receiver 16. Themobile terminal 10 further includes a processor, such as a controller 20or other processing element or computing device, that provides signalsto and receives signals from the transmitter 14 and receiver 16,respectively. The signals include signaling information in accordancewith the air interface standard of the applicable cellular system, andalso user speech, received data and/or user generated data. In thisregard, the mobile terminal 10 is capable of operating with one or moreair interface standards, communication protocols, modulation types, andaccess types. By way of illustration, the mobile terminal 10 is capableof operating in accordance with any of a number of first, second, thirdand/or fourth-generation communication protocols or the like. Forexample, the mobile terminal 10 may be capable of operating inaccordance with second-generation (2G) wireless communication protocolsIS-136 (time division multiple access (TDMA)), GSM (global system formobile communication), and IS-95 (code division multiple access (CDMA)),or with third-generation (3G) wireless communication protocols, such asUniversal Mobile Telecommunications System (UMTS), CDMA2000, widebandCDMA (WCDMA) and time division-synchronous CDMA (TD-SCDMA), withfourth-generation (4G) wireless communication protocols or the like.

It is understood that the apparatus such as the controller 20 includesmeans, such as circuitry, desirable for implementing audio and logicfunctions of the mobile terminal 10. For example, the controller 20 maybe comprised of a digital signal processor device, a microprocessordevice, and various analog to digital converters, digital to analogconverters, and other support circuits. Control and signal processingfunctions of the mobile terminal 10 are allocated between these devicesaccording to their respective capabilities. The controller 20 thus mayalso include the functionality to convolutionally encode and interleavemessage and data prior to modulation and transmission. The controller 20can additionally include an internal voice coder, and may include aninternal data modem. Further, the controller 20 may includefunctionality to operate one or more software programs, which may bestored in memory. For example, the controller 20 may be capable ofoperating a connectivity program, such as a conventional Web browser.The connectivity program may then allow the mobile terminal 10 totransmit and receive Web content, such as location-based content and/orother web page content, according to a Wireless Application Protocol(WAP), Hypertext Transfer Protocol (HTTP) and/or the like, for example.

The mobile terminal 10 may also comprise a user interface including anoutput device such as a conventional earphone or speaker 24, amicrophone 26, a display 28, and a user input interface, all of whichare coupled to the controller 20. The user input interface, which allowsthe mobile terminal 10 to receive data, may include any of a number ofdevices allowing the mobile terminal 10 to receive data, such as akeypad 30, a touch display (not shown) or other input device. Inembodiments including the keypad 30, the keypad 30 may include theconventional numeric (0-9) and related keys (#, *), and other hardand/or soft keys used for operating the mobile terminal 10.Alternatively, the keypad 30 may include a conventional QWERTY keypadarrangement. The keypad 30 may also include various soft keys withassociated functions. In addition, or alternatively, the mobile terminal10 may include an interface device such as a joystick or other userinput interface. The mobile terminal 10 further includes a battery 34,such as a vibrating battery pack, for powering various circuits that arerequired to operate the mobile terminal 10, as well as optionallyproviding mechanical vibration as a detectable output.

In some embodiments, the mobile terminal 10 includes a media capturingelement, such as a camera, video and/or audio module, in communicationwith the controller 20. The media capturing element may be any means forcapturing an image, video and/or audio for storage, display ortransmission. For example, in an exemplary embodiment in which the mediacapturing element is a camera module 36, the camera module 36 mayinclude a digital camera capable of forming a digital image file from acaptured image. As such, the camera module 36 includes all hardware,such as a lens or other optical component(s), and software for creatinga digital image file from a captured image. Alternatively, the cameramodule 36 may include only the hardware needed to view an image, while amemory device of the mobile terminal 10 stores instructions forexecution by the controller 20 in the form of software to create adigital image file from a captured image. In an exemplary embodiment,the camera module 36 may further include a processing element such as aco-processor which assists the controller 20 in processing image dataand an encoder and/or decoder for compressing and/or decompressing imagedata. The encoder and/or decoder may encode and/or decode according to,for example, a joint photographic experts group (JPEG) standard or otherformat.

The mobile terminal 10 may further include a positioning sensor 37 suchas, for example, a global positioning system (GPS) module incommunication with the controller 20. The positioning sensor 37 may beany means, device or circuitry for locating the position of the mobileterminal 10. Additionally, the positioning sensor 37 may be any meansfor locating the position and an associated position reference vectorassociated with images captured by the camera module 36. The positionreference vector can describe the direction from which an image wascaptured. The positioning sensor 37 may include all hardware forlocating the position of a mobile terminal 10 or the position of animage and a position reference vector. Alternatively or additionally,the positioning sensor 37 may utilize a memory device of the mobileterminal 10 to store instructions for execution by the controller 20 inthe form of software to determine the position of the mobile terminal orthe position of an image and a position reference vector. Although thepositioning sensor 37 of this example may be a GPS module, thepositioning sensor 37 may include or otherwise alternatively be embodiedas, for example, an assisted global positioning system (Assisted-GPS)sensor, or a positioning client, which may be in communication with anetwork device to receive and/or transmit information, such as a sky orfloor sensor, for use in determining a position of the mobile terminal10. In this regard, the position of the mobile terminal 10 may bedetermined by GPS, as described above, cell ID, signal triangulation, orother mechanisms as well. In one exemplary embodiment, the positioningsensor 37 includes a pedometer or inertial sensor. As such, thepositioning sensor 37 may be capable of determining a location of themobile terminal 10, such as, for example, longitudinal and latitudinaldirections of the mobile terminal 10, or a position relative to areference point such as a destination or start point. Information fromthe positioning sensor 37 may then be communicated to a memory of themobile terminal 10 or to another memory device to be stored as aposition history or location information. Additionally, the positioningsensor 37 may be capable of utilizing the controller 20 totransmit/receive, via the transmitter 14/receiver 16, locationinformation such as the position of the mobile terminal 10.

The mobile terminal 10 may further include a user identity module (UIM)38. The UIM 38 may be a memory device having a processor built in. TheUIM 38 may include, for example, a subscriber identity module (SIM), auniversal integrated circuit card (UICC), a universal subscriberidentity module (USIM), a removable user identity module (R-UIM), etc.The UIM 38 may store information elements related to a mobilesubscriber. In addition to the UIM 38, the mobile terminal 10 may beequipped with memory. For example, the mobile terminal 10 may includevolatile memory 40, such as volatile Random Access Memory (RAM)including a cache area for the temporary storage of data. The mobileterminal 10 may also include other non-volatile memory 42, which can beembedded and/or may be removable. The non-volatile memory 42 canadditionally or alternatively comprise an electrically erasableprogrammable read only memory (EEPROM), flash memory or the like, suchas that available from the SanDisk Corporation of Sunnyvale, Calif., orLexar Media Inc. of Fremont, Calif. The memories can store any of anumber of pieces of information, and data, used by the mobile terminal10 to implement the functions of the mobile terminal 10. For example,the memories can include an identifier, such as an international mobileequipment identification (IMEI) code, capable of uniquely identifyingthe mobile terminal 10.

FIG. 2 is a schematic block diagram of a wireless communications systemaccording to an exemplary embodiment of the present invention. Referringnow to FIG. 2, an illustration of one type of system that may benefitfrom embodiments of the present invention is provided. The systemincludes a plurality of network devices. As shown, one or more mobileterminals 10 may each include an antenna 12 for transmitting signals toand for receiving signals from a base site or base station (BS) 44. Thebase station 44 may be a part of one or more cellular or mobile networkseach of which includes elements required to operate the network, such asa mobile switching center (MSC) 46. As well known to those skilled inthe art, the mobile network may also be referred to as a BaseStation/MSC/Interworking function (BMI). In operation, the MSC 46 iscapable of routing calls to and from the mobile terminal 10 when themobile terminal 10 is making and receiving calls. The MSC 46 can alsoprovide a connection to landline trunks when the mobile terminal 10 isinvolved in a call. In addition, the MSC 46 can be capable ofcontrolling the forwarding of messages to and from the mobile terminal10, and can also control the forwarding of messages for the mobileterminal 10 to and from a messaging center. It should be noted thatalthough the MSC 46 is shown in the system of FIG. 2, the MSC 46 ismerely an exemplary network device and embodiments of the presentinvention are not limited to use in a network employing an MSC.

The MSC 46 can be coupled to a data network, such as a local areanetwork (LAN), a metropolitan area network (MAN), and/or a wide areanetwork (WAN). The MSC 46 can be directly coupled to the data network.In one embodiment, however, the MSC 46 is coupled to a gateway device(GTW) 48, and the GTW 48 is coupled to a WAN, such as the Internet 50.In turn, devices such as processing elements (e.g., personal computers,server computers or the like) can be coupled to the mobile terminal 10via the Internet 50. For example, as explained below, the processingelements can include one or more processing elements associated with acomputing system 52, origin server 54, and/or the like, as describedbelow.

The BS 44 can also be coupled to Internet 50 through an internetprotocol multimedia subsystem (IMS) 70 and, in some embodiments,application service (AS) 72. As known to those skilled in the art, IMScan be an internet protocol multimedia subsystem which can provide aframework for delivering internet protocol multimedia to mobileterminals. IMS 70 can provide a link to Internet 50 in a packet switcheddomain. The link between BS 44 and Internet 50 through IMS 70 can alsooptionally include AS 72. AS 72 can be an application service that canprovide functionality for managing communications sessions.

The BS 44 can also be coupled to a signaling GPRS (General Packet RadioService) support node (SGSN) 56. As known to those skilled in the art,the SGSN 56 may be capable of performing functions similar to the MSC 46for packet switched services. The SGSN 56, like the MSC 46, can becoupled to a data network, such as the Internet 50. The SGSN 56 can bedirectly coupled to the data network. In one embodiment, however, theSGSN 56 is coupled to a packet-switched core network, such as a GPRScore network 58. The packet-switched core network is then coupled toanother GTW 48, such as a GTW GPRS support node (GGSN) 60, and the GGSN60 is coupled to the Internet 50. In addition to the GGSN 60, thepacket-switched core network can also be coupled to a GTW 48. Also, theGGSN 60 can be coupled to a messaging center. In this regard, the GGSN60 and the SGSN 56, like the MSC 46, may be capable of controlling theforwarding of messages, such as MMS messages. The GGSN 60 and SGSN 56may also be capable of controlling the forwarding of messages for themobile terminal 10 to and from the messaging center.

In addition, by coupling the SGSN 56 to the GPRS core network 58 and theGGSN 60, devices such as a computing system 52 and/or origin server 54may be coupled to the mobile terminal 10 via the Internet 50, SGSN 56and GGSN 60. In this regard, devices such as the computing system 52and/or origin server 54 may communicate with the mobile terminal 10across the SGSN 56, GPRS core network 58 and the GGSN 60. By directly orindirectly connecting mobile terminals 10 and the other devices (e.g.,computing system 52, origin server 54, etc.) to the Internet 50, themobile terminals 10 may communicate with the other devices and with oneanother, such as according to the Hypertext Transfer Protocol (HTTP)and/or the like, to thereby carry out various functions of the mobileterminals 10.

Although not every element of every possible mobile network is shown anddescribed herein, it should be appreciated that the mobile terminal 10may be coupled to one or more of any of a number of different networksthrough the BS 44. In this regard, the network(s) may be capable ofsupporting communication in accordance with any one or more of a numberof first-generation (1G), second-generation (2G), 2.5G, third-generation(3G), 3.9G, fourth-generation (4G) mobile communication protocols or thelike. For example, one or more of the network(s) can be capable ofsupporting communication in accordance with 2G wireless communicationprotocols IS-136 (TDMA), GSM, and IS-95 (CDMA). Also, for example, oneor more of the network(s) can be capable of supporting communication inaccordance with 2.5G wireless communication protocols GPRS, EnhancedData GSM Environment (EDGE), or the like. Further, for example, one ormore of the network(s) can be capable of supporting communication inaccordance with 3G wireless communication protocols such as a UMTSnetwork employing WCDMA radio access technology. Some narrow-band analogmobile phone service (NAMPS), as well as total access communicationsystem (TACS), network(s) may also benefit from embodiments of thepresent invention, as should dual or higher mode mobile stations (e.g.,digital/analog or TDMA/CDMA/analog phones).

The mobile terminal 10 can further be coupled to one or more wirelessaccess points (APs) 62. The APs 62 may comprise access points configuredto communicate with the mobile terminal 10 in accordance with techniquessuch as, for example, radio frequency (RF), Bluetooth (BT), infrared(IrDA) or any of a number of different wireless networking techniques,including wireless LAN (WLAN) techniques such as IEEE 802.11 (e.g.,802.11a, 802.11b, 802.11g, 802.11n, etc.), world interoperability formicrowave access (WiMAX) techniques such as IEEE 802.16, Wibree, ZigBeeIEEE 802.15.4, and/or ultra wideband (UWB) techniques such as IEEE802.15 and/or the like. The APs 62 may be coupled to the Internet 50.Like with the MSC 46, the APs 62 can be directly coupled to the Internet50. In one embodiment, however, the APs 62 are indirectly coupled to theInternet 50 via a GTW 48. Furthermore, in one embodiment, the BS 44 maybe considered as another AP 62. As will be appreciated, by directly orindirectly connecting the mobile terminals 10 and the computing system52, the origin server 54, and/or any of a number of other devices, tothe Internet 50, the mobile terminals 10 can communicate with oneanother, the computing system, etc., to thereby carry out variousfunctions of the mobile terminals 10, such as to transmit data, contentor the like to, and/or receive content, data or the like from, thecomputing system 52. As used herein, the terms “data,” “content,”“information” and similar terms may be used interchangeably to refer todata capable of being transmitted, received and/or stored in accordancewith embodiments of the present invention. Thus, use of any such termsshould not be taken to limit the spirit and scope of embodiments of thepresent invention.

As will be appreciated, by directly or indirectly connecting the mobileterminals 10 and the computing system 52, the origin server 54, and/orany of a number of other devices, to the Internet 50, the mobileterminals 10 can communicate with one another, the computing system, 52,the origin server 54, etc., to thereby carry out various functions ofthe mobile terminals 10, such as to transmit data, content or the liketo, and/or receive content, data or the like from, the computing system52, and/or the origin server 54, etc.

Although not shown in FIG. 2, in addition to or in lieu of coupling themobile terminal 10 to computing systems 52 across the Internet 50, themobile terminal 10 and computing system 52 may be coupled to one anotherand communicate in accordance with, for example, RF, BT, IrDA or any ofa number of different wireline or wireless communication techniques,including LAN, WLAN, WiMAX, UWB techniques and/or the like. Computingsystem 52 can additionally, or alternatively, include a removable memorycapable of storing content, which can thereafter be transferred to themobile terminal 10. Further, the mobile terminal 10 can be coupled toone or more electronic devices, such as printers, digital projectorsand/or other multimedia capturing, producing and/or storing devices(e.g., other terminals). Like with the computing system 52, the mobileterminal 10 may be configured to communicate with the portableelectronic devices in accordance with techniques such as, for example,RF, BT, IrDA or any of a number of different wireline or wirelesscommunication techniques, including universal serial bus (USB), LAN,WLAN, WiMAX, UWB techniques and/or the like.

FIG. 3 depicts a schematic block diagram of a communications systemaccording to an exemplary embodiment of the present invention. Thecommunications system of FIG. 3 can include a user node 300, networkaccess points 310, a communications network 320, a video sensor network330, video sensors 340, a service node 350, and a trader node 360. Notethat the configuration of the communications system of FIG. 3 is merelyexemplary and that various configurations are contemplated.

User node 300 can be a communications device, such as, for example,mobile terminal 10 of FIG. 1. Further, user node 300 can have a usernode identifier (user node ID) that can be unique to a particular usernode. Similarly, differing users of user node 300 can have unique useridentifiers (user IDs). In some settings, multiple users may be present,and as such, multiple user nodes 300 may be present in thecommunications system of FIG. 3 as well.

Network access points 310 can be devices which permit a user node 300 toaccess the communications network 320. In some embodiments, networkaccess point 310 can be, for example, BS 44, or AP 62 of the system ofFIG. 2 which could facilitate communication between user node 300 andcommunication network 320. In some embodiments, user node 300 can beco-located at various network access points 310 such that user node 300can be accessed by a user at each network access point 310. In someembodiments, network access point 310 can be a point of sale device suchas a credit card terminal or a cash register. In some embodiments,network access point 310 can be associated with a video sensor 340 toprovide, among other things, the location of a user at a time whennetwork access point 310 is utilized. Additionally, in some embodiments,user node 300 can interact with a plurality of network access points 310as a user moves into differing areas. As such any number of networkaccess points 310 may be connected to the communications system of FIG.3.

Video sensors 340 can be devices comprising one or more cameras that cancapture media content from the environment in which they are placed. Insome embodiments, video sensors 340 can capture multimedia informationwhich can be used to determine the location of a user through imagerecognition technologies such as, face recognition. In some embodiments,video sensors 340 can utilize wireless communications technology inaccordance with techniques such as, for example, RF, BT, IrDA or any ofa number of different wireline or wireless communication techniques,including universal serial bus (USB), LAN, WLAN, WiMAX, UWB techniquesand/or the like. In some embodiments, video sensors 340 can include thecameras module of mobile terminal 10. Video sensors 340 can also beinputs to a video sensor network 330. In some embodiments, video sensor340 can directly interact with communications network 320.

Similarly, in some embodiments, radio frequency identification tags canbe utilized in the communications system of FIG. 3. RFID tags can beassociated with particular locations, such as, for example, shops orbooths. In some embodiments RFID tags can be connected to communicationsnetwork 320. Accordingly, in some embodiments, user nodes 300, such as,mobile terminal 10, can include hardware and/or software to read RFIDtags. Accordingly, since the RFID tags can be placed at particularlocations and user node 300 can read the RFID tags, user node 300 candetermine its location, either directly from an RFID tag, or indirectlyusing information provided by the RFID tag. For example, in someembodiments, a RFID tag can provide to user node 300, a uniqueidentifier of the RFID tag. User node 300 may then access a databaseeither locally or through the communications network of FIG. 3, to anduse the unique identifier to determine various information associatedwith the RFID tag, such as location information, shop or boothinformation, or sales information. In some embodiments, RFID tags canprovide various information directly to user node 300, such as, forexample, the name of an establishment, or contact information.Accordingly, in some embodiments information gathered either directly orindirectly from RFID tags, ban be used to generate a user patternprofile or user pattern vector as described herein.

Video sensor network 330 can be, for example a wireless multimediasensor network (WMSN) or a closed circuit television (CCTV) network.Devices connected to video sensor network 330 can communicate with eachother through video sensor network 330 using various communicationstechniques such as, for example, RF, BT, IrDA or any of a number ofdifferent wireline or wireless communication techniques, includinguniversal serial bus (USB), LAN, WLAN, WiMAX, UWB techniques and/or thelike.

Service node (like a service provider) 350 can be a communications,server and/or processing system, such as computing system 52. Servicenode 350 can perform operations with respect to user pattern profiles,such as comparisons between user pattern profiles and thresholdprofiles. In some embodiments, service node 350 can be associated withone or more vendors in a particular area, such as, for example, ashopping mall or exhibition. As such, in some embodiments, multipleservice nodes 350 can be implemented and connected to communicationsnetwork 350. Additionally, in some embodiments, service node 350 can beconnected to communications network 320 through a network access point310. In some embodiments, user node 300 can be co-located at variousnetwork access points 310 such that user node 300 can be accessed by auser at each network access point 310.

Trader node 360 can be a communications, server, personal computer, cashregister and/or processing system, such as computing system 52. Tradernode 360 can perform operations with respect to threshold profiles, suchas creating and updating threshold profiles. In some embodiments, tradernode 360 can be associated with a particular vendor, such as a store, ashop or a stand, and can be located on a vendor's server. As such, insome embodiments, multiple trader nodes 350 can be implemented andconnected to communications network 350. In some embodiments, the tradernode can be implemented on a point of sale device, such as a credit cardterminal or a cash register. Additionally, in some embodiments, tradernode 350 can be connected to communications network 320 through anetwork access point 310 or connected directly to service node 350.

Communications network 320 can be any type of communications networkincluding, but not limited to the communications system of FIG. 2, orthe Internet. User node 300 can communicate through network access point310 with various entities connected to communications network 320.Similarly, service node 350 and trader node 360 can communicate withentities connected to communications network 320. Additionally, entitiesconnected to video sensor network 330 can communicate with any entityconnected to communications network 320, and entities connected tocommunications network 320 can communicate with entities connected tovideo sensor network 330.

FIG. 4 is a flow diagram depicting a method of developing and utilizinga user pattern profile according to an exemplary embodiment of thepresent invention. The method can comprise the operations of receivingservice selections at 400, receiving location information at 410,updating the user pattern profile at 420, comparing the user patternprofile with a threshold profile at 430, and determining if thethreshold is reached at 440. If the threshold is not reached,appropriate actions can be taken at 450, and if the threshold isreached, appropriate actions can be taken at 460.

In some embodiments, prior to receiving user service selections at 400,a user node 300 can access communications network 320 through a networkaccess point 310. Upon accessing the network, user node 300 can berecognized and paired to a network access point 310. A user node 300 canbe paired to a network access point 310 when a communications sessionhas begun between user node 300 and network access point 310. A user cangain access to service node 350 via user node 300 by providing one ormore of a user ID, a user node ID, or image recognition, through videosensors 340 using image recognition technology. In addition to accessingthe network, user node 300 can cause an initial user pattern profile tobe generated on service node 350.

Additionally, service information may be sent to, or activated on, usernode 300 at an initial network access point 310. In some embodiments,the service information can be sent from service node 350. The serviceinformation can be sent via local broadcasting, such as sky sensors, andeach vendor may utilize a separate channel. In some embodiments, theservice information can include information regarding vendors within ashopping mall, exhibition, neighborhood, village, or city. The userpattern profile can include user node location information, a user ID, auser node ID, or image recognition information. Location information canbe acquired from various sources including, but not limited to, videosensors 340, positioning sensor 37 of mobile terminal 10, or locationinformation associated with a fixed location network access point 310.

Service selections, or touch patterns, can then be received at 400. Insome embodiments, service selections can be received by user node 300 orother means. In some embodiments, service information can be navigatedthrough and selected by a user on user node 300. Navigation, selection,and various other user operations performed by a user on user node 300can be received as service selections. In various embodiments, serviceselections can be received locally and stored on, for example, volatilememory 40 or nonvolatile memory 42 of mobile terminal 10 and then sentto service node 350.

In some embodiments, the user node 300 can receive response informationfrom service node 350 or trader node 360. Response information caninclude additional detailed information regarding the selected services,such as an advertisement, a live video feed, updated information, alisting of the most frequently purchased products or services from aselected store, or map information that can route the user to theselected products or services. In addition, in some embodiments,information regarding other users can be sent to the user node 300 suchas, the number of people selecting particular service information, thenumber of users at a selected location or store, or information on howothers use a service or product. In some embodiments, a first user mayidentify a second user that has similar product or service desires andhabits. In this regard, the first user may consider the second user'suser pattern profile when deciding on a future purchase. In someembodiments, the user service selections can be received by the tradernode 360 and trader node 360 can provide response information in theform of, for example, a live video stream or an image to user node 300.Further, in some embodiments, a user may make additional serviceselections after the user pattern profile is updated at 420. In thisregard, the additional service selections can cause the procedure tobegin anew by receiving the new service selections at 400. In someembodiments, even when a user does not make additional serviceselections, updated information regarding selected services can be sentto user node 300. This type of information can be provided regularly orintermittently and can include, for example, other users' relatedservice selections, or other users' movement patterns.

Location information, or movement patterns, can then be received at 410.In some embodiments, location information can be received by user node300 or other means. In various embodiments, location information can bereceived locally and stored on, for example, volatile memory 40 ornonvolatile memory 42 of mobile terminal 10 and then sent to servicenode 350. Additionally, in some embodiments, location information can beacquired from various sources including, but not limited to, videosensors 340, positioning sensor 37 of mobile terminal 10, locationinformation associated with a fixed location network access point 310,ground sensors or sky sensors. The procedure for acquiring new locationinformation can occur intermittently or at predefined time intervals.

The user pattern profile can be updated at 420. In embodiments where theinitial user pattern profile was not generated earlier, the operation ofupdating the user pattern profile can include generating the initialuser pattern profile. The user pattern profile can be updated byupdating location information associated with the user or user node 300and sending the updated user pattern profile to service node 350. Insome embodiments, the location information can be first updated in auser pattern profile that is local to user node 300, and then theupdated user pattern profile can be sent to service node 350. Similarly,the procedure for updating the user pattern profile, either on the usernode 300 or on the service node 350, can occur intermittently or atpredefined time intervals. In some embodiments, historical locationinformation can be stored for analysis of the user movements and canrepresent a move pattern. In some embodiments, the historical locationinformation and user service selections can be used to generate a userpattern vector, which in some embodiments can be comprised of a touchpattern and a move pattern. As such, in some embodiments, the userpattern vector can describe the number of times a user visits a locationand the number of times a user makes a particular selection. Forexample, a user pattern vector can describe that a user moved to a firstlocation, three times; a second location, four times; and madeselections for a first service, five times, and a second service, eighttimes. With respect to user pattern vectors generally, the operationsdescribed herein with respect to user pattern profiles can be equallyapplicable to user pattern vectors.

In some embodiments, service node 350 can aggregate updated user patternprofiles from one or more users to determine general information suchas, the number of users that are selecting particular serviceinformation, the number of users that move to a particular locationwhich may be indicative of brand preferences or the current servicestatus of a particular store, or the number of users that are headingtoward a particular location providing particular services.Additionally, user pattern profiles can be grouped by service node 350according to predetermined criteria to reveal additional aggregateinformation. Additionally, in some embodiments, service node 350 canutilize a user pattern profile to determine whether a product or serviceresource issue is causing previously loyal users to choose other storesor locations.

Prior to comparing the user pattern profile with a threshold profile at430, a threshold profile can be generated. In some embodiments, thethreshold profile can be generated on trader node 360 and stored onservice node 350. A threshold profile can have threshold valuesassociated with selections and locations. For instance, within athreshold profile a threshold value can include an interest levelsetting which may be identified by the number of selections by one ormore users in a particular category. Further, in some instances, athreshold value can be set at, for example, a number of users at aparticular location, such as a retail store, or the number of usersheading in the direction of a particular location, such as a retailstore. In this regard, a group discount may be implemented when aparticular number of users have selected a particular product, and theusers may be informed as such by sending a message to user node 300. Insome embodiments, complex rules may be created and implemented in orderto customize the thresholds for a particular purpose.

Further, in some embodiments, threshold vectors can be generated. Inthis regard, a user node action threshold vector can be generated thatsets thresholds on various activities by one or more user node actions.For example, a user node threshold vector can set a movement patternthat is indicative of an interest level. As such, in some embodiments,the threshold vector can describe the number of times a user visits alocation and the number of times a user makes a particular selection.For example, a threshold vector can set a threshold for a situationwhere a user moves to a first location, three times and makes selectionsfor a first service, five times; or a situation where a user moves to asecond location, 1 time and makes selections for a second service, twotimes. A user pattern profile can be rated against this thresholdpattern vector in the comparison operation 430 to determine a rating forthe user pattern profile. Another example of a user node thresholdvector can be one associated with the number of user nodes 300 headingtoward a particular retail establishment. Similarly, a trader nodeaction threshold vector can be generated that sets thresholds on variousactivities of the trader node 360. For example, where the trader node360 is associated with a business establishment that provides a service,such as a barber shop, a trader node threshold vector can be setassociated with the number of employees available to provide a service.With respect to threshold vectors generally, the operations describedherein with respect to threshold profiles can be equally applicable tothreshold vectors.

The user pattern profile can be compared with the threshold profile at430. In some embodiments, the comparison can occur in service node 350.Further, in some embodiments, the comparison operation can occur atregular or irregular time intervals, or each time the user patternprofile is updated at 420. Additionally, in some embodiments, thecomparison can occur when changes are made to a threshold profile. Also,a comparison of a user pattern vector with a threshold vector can occurat 420.

Upon completing the comparison, a determination can be made as to therelationship between a user profile and a threshold profile at 440. Insome embodiments, a result of the comparison can be sent to trader node360. In some instances, particular actions can be undertaken at 450 whena threshold value is not reached or exceeded. Additionally, in someinstances particular actions can be undertaken at 460 when a thresholdvalue is reached or exceeded. Additionally, in embodiments where a userpattern vector is compared to a threshold pattern vector, variousactions can be undertaken as a result of this comparison as well.

With regard to actions which may be taken as a result of the comparison,an exemplary action taken at 450 or 460 can be to send a message to oneor more user nodes 300 regarding, for example, new or updated serviceinformation, coupons or special offers, and the message can be sent, forexample, as a live video stream, or an image. In some embodiments, thetrader node may also be alerted, for instance, to the movements of usernode 300, such as a movement toward a business establishment indicatinga potential customer. In some embodiments, after being alerted, tradernode 360 can execute a program. An additional exemplary action taken at450 or 460 can be to send a message to a user node 300 form service node350. The message can be sent to one or more user nodes 300 regarding,for example, new or updated service information, coupons or specialoffers, and the message can be sent, for example, as a live videostream, or an image.

Further, in some embodiments, updates to the threshold profile can beperformed. The threshold profile update information can be received byservice node 350 from trader node 360. Updates to the threshold profilecan include, but are not limited to, updating a threshold value for thenumber of visitors to an establishment associated with the trader node360, starting or changing a scheduled program, or updating an image. Thethreshold profile can then be updated in the service node 350. In someembodiments, when the threshold profile is updated, a comparison at 430can occur.

In an exemplary implementation of an embodiment of the inventionaccording to FIG. 4 consider a user that enters an exhibition orshopping mall. Upon entry, a network access point can push serviceinformation to the user's mobile telephone device. The network accesspoint can also comprise a video sensor that uses face recognitiontechnology to identify the user. The service information pushed to theuser's mobile telephone device can include information regarding boothswithin an exhibition. The user can then select particular informationfrom the service information, and additional detailed information can besent to the user's mobile telephone device regarding the user'sselections. All of the user's selections can be logged and stored aspart of the user's user pattern profile. The user can then movethroughout the mall or exhibition. Say the user spends ten minutes at afirst store, five minutes at a second store, two minutes at a thirdstore, and now the user has returned to the first store. These movementsand durations can be stored and analyzed to indicate that the user islikely to purchase a product or service at the first store. The user'smovements can be tracked by video sensors located throughout theshopping mall or exhibition. The user's movements can be stored as amovement pattern within a user pattern profile. The user pattern profilecan be compared to a threshold profile to determine what actions shouldbe taken or messages sent regarding the user.

FIG. 5 is a signaling diagram for initializing a user pattern profileaccording to an exemplary embodiment of the present invention. Thesignaling diagram of FIG. 5 includes user node 500, first network accesspoint 501, service node 502, and trader node 503, in a similar manner,user node 300, network access point 310, service node 350, and tradernode 360, respectively, of FIG. 3. Additionally, the sequencing of thesignaling in FIG. 5 is used merely for illustration purposes, and assuch, it is contemplated that various sequencing of signals can beutilized.

The exemplary signaling sequence of FIG. 5 can begin with creating athreshold profile on trader node 503 at 505. The threshold profile canthen be sent to service node 502 at 506. The threshold profile can bestored on service node 502 at 510.

At 515, recognition of a user or user node 500, and a pairing to a firstnetwork access point 501, can occur. The user can be recognized at firstnetwork access point 501 at 520. At 530, user identificationinformation, such as user ID, user node ID, or other recognitioninformation, can be sent from user node 500 to first network accesspoint 501, and first network access point 501 can relay the useridentification information to service node 502. In some embodiments, inaddition to sending the user identification information, user node 500can also send a user pattern profile, which can include locationinformation, to first network access point 501, to be relayed to servicenode 502. At 535, service node 502 can store the user identificationinformation, and in some embodiments, a user pattern profile.

At 540, service node 502 can find relevant service information, based onthe information provided by user node 500. The service information canthen be sent to user node 500 via first network access point 501. At550, the service information can be conveyed to a user by user node 500,and in some embodiments, the service information can be displayed byuser node 500.

At 555, a user can make a service selection on user node 500. Theselection can be sent to service node 502 via first network access point501 at 560. Service node 502 can then store the service selection, useridentification information, and location information at 565, and createa user pattern profile including the location and selection informationat 570. The service node 502 can then request selected information fromtrader node 503 at 575. In some embodiments, the selected informationmay reside on service node 502. In some embodiments, service node 502may also send the user pattern profile, including the locationinformation, to the trader node 503 to be stored on the trader node 503.Trader node 503 can respond to the request by sending selected serviceinformation to the user node 500 via the first network access point 501at 580. At 585, the service information can be conveyed to a user byuser node 500, and in some embodiments, the service information can bedisplayed by user node 500. Information regarding the display ofselected service information can then be sent to service node 502 viafirst network access 501 at 590, and the user pattern profile can beupdated at 595.

FIG. 6 is a signaling diagram for updating a user pattern profileaccording to an exemplary embodiment of the present invention. Thesignaling diagram of FIG. 6 includes user node 600, network access point604, service node 602, and trader node 603 in a similar manner to usernode 300, network access point 310, service node 350, and trader node360, respectively, of FIG. 3. Additionally, the sequencing of thesignaling in FIG. 6 is used merely for illustration purposes, and assuch, it is contemplated that various sequencing of signals can beutilized.

Signaling events 606 through 618 of FIG. 6 describe a location update ofa user pattern profile. At 606, user node 600 moves to a new location.At 608, a process of recognizing the user can begin between user node600 and network access point 604. Network access point 604 can recognizethe user at 610, and send user location information to service node 602at 612. Service node 602 can then update the user pattern profile at614. A comparison of the user pattern profile with the threshold profilecan occur at 616. Service node 602 can then determine if a threshold isreached or exceeded at 618.

Signaling events 620 through 624 of FIG. 6 describe a first exemplaryoptional response to reaching or exceeding a threshold profile value,where trader node 603 responds. At 620, after it has been determinedthat a threshold value has been reached or exceeded, the comparisonresults can be sent from service node 602 to trader node 603. Tradernode 603 can then determine the appropriate action to be taken, andmessage to be sent from trader node 603 at 622. At 624, new serviceinformation can be sent to user node 600 from trader node 603 vianetwork access point 604.

Signaling events 626 and 628 of FIG. 6 describe a second exemplaryoptional response to reaching or exceeding a threshold profile value,where service node 602 responds. At 626, after it has been determinedthat a threshold value has been reached or exceeded, service node 602can then determine the appropriate action to be taken, and message to besent from service node 602. At 628, new service information can be sentto user node 600 from service node 602 via network access point 604.

Signaling events 630 through 642 of FIG. 6 describe a service selectionupdate of a user pattern profile. At 630, service information can beconveyed, or in some embodiments displayed, to the user on user node600. At 632, a user can make a service selection on user node 600. Theselection can be sent to service node 602 via network access point 604at 634. Service node 602 can then update the user pattern profile at636. A comparison of the user pattern profile with a threshold profilecan occur at 638. Service node 602 can then determine if a threshold isreached or exceeded at 640. At 642, the process can continue as in thelocation update at 620 or 626.

Signaling events 644 through 648 of FIG. 6 describe a threshold updateof a threshold profile. At 644, updated threshold information can besent to service node 602 from trader node 603. Service node 602 can thenstore the update at 602. At 648, the process can continue as inexemplary options at 620 or 626 after performing a comparison at 616.

FIG. 7 is a data chart aggregating user and store data according to anexemplary embodiment of the present invention. The data chart of FIG. 7compiles the user pattern profile data into a simplistic format tohighlight the types of information that can be gathered from variousembodiments of the invention. On the y-axis of the chart, Store 1through Store 6 can be listed. Each of Store 1 through Store 6 can be,for example, a retail store in a shopping mall or a stand in anexhibition, and we can assume'for illustration purposes that Store 1through Store 6 are competitors. On the x-axis of the chart, User No. 1through User No. 5 can be listed. Each of User No. 1 through User No. 5can be, for example, a consumer in a shopping mall or in an exhibition.The data within the chart can indicate the actions of each of User No. 1through User No. 5. The actions can include whether the user selected aparticular store and whether the user moved to the same store. A squarebox surrounding the action indicates that the user performed the action,and a circle surrounding the action indicates that the user did notperform the action. As a result of the configuration of this exemplarydata chart, a user pattern profile can be analyzed by considering theactions of the user (on the vertical), and patterns regarding groups ofusers can be analyzed with respect to a particular store (on thehorizontal).

Exemplary information that can be deduced from the data chart of FIG. 7can be as follows with respect to analyzing the actions of the usersindividually. It can be deduced that User No. 1 has a high interestlevel in a product or service at Store 6 because User No. 1 selectedinformation from Store 6 and then actually moved to Store 6. It cansimilarly be deduced that User No. 2 is interested in the products orservices of Store 3, as indicated by User No. 2 not selecting Store 3information, but still moving to Store 3. The data can also indicatethat User No. 2 may consider alternative products or services, asindicated by User No. 2's selections of Store 1 and Store 2 information,but not moving to Store 1 or Store 2. User No. 3 has indicated a highinterest level in a product or service at Store 4, as indicated by aselection of Store 4 information and move to Store 4. However, User No.3's movement to Store 1, without a selection, can indicate that User No.3 also has interest in the products or services at Store 1. Similar toUser No. 2, User No. 4 has indicated an interest in the products orservices of Store 1, as indicated by User No. 4 not selecting Store 1information, but still moving to Store 1. The data can also indicatethat User No. 4 may consider alternative products or services, due toUser No. 4's selections of Store 3 and Store 6 information, but notmoving to Store 3 or Store 6. Finally, the data can indicate that UserNo. 5 is merely clicking through all the selections and has littleinterest in a product or service. This is indicated by User No. 5'sselection of information from all the stores, but not moving to any ofthe stores.

Additionally, the data chart of FIG. 7 can be analyzed with respect to aparticular store to reveal information regarding each store by groupingthe data according to that store. The data with respect to Store 1 canindicate that, for example, a group-buy discount could be implemented,where if a group of products are sold, each individual purchasing aproduct within the group can receive a discount. This deduction can comeas a result of numerous users either selecting or moving to Store 1. Asa result of interpreting the data with respect to Store 2, Store 2 mayconsider improving its advertising or product quality, since only twousers selected Store 2 information, and neither of them moved to Store2. With respect to Store 3, since one user has moved to Store 3, thatuser can be identified as a target consumer and promotions may be sentto that user. Store 4 can similarly identify a high interest consumer inUser No. 3, since User No. 3 selected Store 4 information and moved toStore 4. In this regard, a threshold profile set by Store 4 may targetUser No. 3 for a coupon or other promotion. The data further indicatesthat Store 5 needs to make improvements to encourage interest in itsproducts or services. This is indicated by the fact that no user movedto Store 5 and the only user that selected Store 5 information, User No.5, is apparently uninterested as indicated by User No. 5's numerousselections without any associated movement. Finally, Store 6 canidentify a high interest consumer in User No. 1, since User No. 1selected Store 6 information and moved to Store 6. In this regard, athreshold profile set by Store 6 may target User No. 1 for a coupon orother promotion.

According to one aspect of the present invention, the electronic device,such as mobile terminal 10, which implements embodiments of the presentinvention generally operates under control of a computer programproduct. The computer program product for performing the methods ofembodiments of the present invention includes a computer-readablestorage medium and computer-readable program code portions, such as aseries of computer instructions, embodied in the computer-readablestorage medium.

In this regard, FIG. 3 is a flowchart of method, apparatus and programproducts according to exemplary embodiments of the present invention. Itwill be understood that each block or step of the flowchart, andcombinations of blocks in the flowchart, can be implemented by computerprogram instructions. These computer program instructions may be loadedonto a computer or other programmable apparatus, such as controller 20,to produce a machine, such that the instructions which execute on thecomputer or other programmable apparatus create means for implementingthe functions specified in the flowchart block(s) or step(s). Thesecomputer program instructions may also be stored in a computer-readablememory that can direct a computer or other programmable apparatus tofunction in a particular manner, such that the instructions stored inthe computer-readable memory produce an article of manufacture includinginstruction means which implement the function specified in theflowchart block(s) or step(s). The computer program instructions mayalso be loaded onto a computer or other programmable apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer implemented process suchthat the instructions which execute on the computer or otherprogrammable apparatus provide steps for implementing the functionsspecified in the flowchart block(s) or step(s).

Accordingly, blocks or steps of the flowchart support combinations ofmeans for performing the specified functions, combinations of steps forperforming the specified functions and program instruction means forperforming the specified functions. It will also be understood that eachblock or step of the flowchart, and combinations of blocks or steps inthe flowchart, can be implemented by special purpose hardware-basedcomputer systems which perform the specified functions or steps, orcombinations of special purpose hardware and computer instructions.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the embodiments of the invention are not to belimited to the specific embodiments disclosed and that modifications andother embodiments are intended to be included within the scope of theappended claims. Although specific terms are employed herein, they areused in a generic and descriptive sense only and not for purposes oflimitation.

1. A real time service method in a network comprising: receiving, at aservice node, one or more service selections of a user node, eachservice selection associated with a vendor; receiving, at the servicenode, location information on the user node; updating, at the servicenode, a user pattern profile associated with the user node based on theone or more service selections and the location information of the usernode; receiving, at the service node, a threshold profile from a tradernode, the threshold profile associated with the vendor; comparing, atthe service node, the updated user pattern profile with the thresholdprofile; and performing, at the service node, an action based on aresult of comparing the updated user pattern profile with the thresholdprofile.
 2. A real time service method of claim 1, wherein the userpattern profile comprises one or more user pattern vectors.
 3. A realtime service method of claim 2, wherein a user pattern vector comprisesat least one of a service selection pattern on the user node and a movepattern of the user node.
 4. A real time service method of claim 3,wherein the threshold profile comprises one or more threshold vectors.5. A real time service method of claim 4, wherein a threshold vectorcomprises at least one of a number of times that a particular serviceselection has been selected and a number of times that a vendorassociated with the particular service selection has been visited.
 6. Areal time service method of claim 5, wherein performing an action basedon a result of comparing the updated user pattern profile with thethreshold profile comprises sending a message to the user node when auser pattern vector in the updated user pattern profile exceeds athreshold vector of the threshold profile.
 7. A real time service methodof claim 5, wherein performing an action based on a result of comparingthe updated user pattern profile with the threshold profile comprisessending a message to the trader node when a user pattern vector in theupdated user pattern profile exceeds a threshold vector of the thresholdprofile.
 8. A service node apparatus comprising: a communicationinterface configured to send data to at least one external device andreceive data from at least one external device; a memory configured tostore at least one user pattern profile and at least one thresholdprofile; and a processor configured to: receive, via the communicationinterface, one or more service selections of a user node, each serviceselection associated with a vendor; receive, via the communicationinterface, location information of the user node; update the a storeduser pattern profile associated with the user node based on the one ormore service selections and the location information of the user node;receive, via the communication interface, a threshold profile from atrader node, the threshold profile associated with the vendor; comparethe updated user pattern profile with the threshold profile; and performan action based on a result of comparing the updated user patternprofile with the threshold profile.
 9. A service node apparatus of claim8, wherein the updated user pattern profile comprises one or more userpattern vectors.
 10. A service node apparatus of claim 9, wherein a userpattern vector comprises at least one of a service selection pattern onthe user node and a move pattern of the user node.
 11. A service nodeapparatus of claim 10, wherein the threshold profile comprises one ormore threshold vectors.
 12. A service node apparatus of claim 11,wherein a threshold vector comprises at least one of a number of timesthat a particular service selection has been selected and a number oftimes that a vendor associated with the particular service selection hasbeen visited.
 13. A service node apparatus of claim 12, wherein theprocessor is further configured to, when performing an action based on aresult of comparing the updated user pattern profile with the thresholdprofile, send via the communication interface a message to the user nodewhen a user pattern vector in the updated user pattern profile exceeds athreshold vector of the threshold profile.
 14. A service node apparatusof claim 12, wherein the processor is further configured to, whenperforming an action based on a result of comparing the updated userpattern profile with the threshold profile, send via the communicationinterface a message to the trader node when a user pattern vector in theupdated user pattern profile exceeds a threshold vector of the thresholdprofile.
 15. A non-transitory computer-readable storage medium havingcomputer-readable program code portions stored therein, thecomputer-readable program code portions comprising instructions that,when executed, cause a service node to: receive one or more serviceselections of a user node, each service selection associated with avendor; receive location information of the user node; update a userpattern profile associated with the user node based on the one or moreservice selections and the location information of the user node;receive a threshold profile from a trader node, the threshold profileassociated with the vendor; compare the updated user pattern profilewith the threshold profile; and perform an action based on a result ofcomparing the updated user pattern profile with the threshold profile.16. A non-transitory computer-readable storage medium of claim 15,wherein the user pattern profile comprises one or more user patternvectors.
 17. A non-transitory computer-readable storage medium of claim16, wherein a user pattern vector comprises at least one of a serviceselection pattern on the user node and a move pattern of the user node.18. A non-transitory computer-readable storage medium of claim 17,wherein the threshold profile comprises one or more threshold vectors.19. A non-transitory computer-readable storage medium of claim 18,wherein a threshold vector comprises at least one of a number of timesthat a particular service selection has been selected and a number oftimes that a vendor associated with the particular service selection hasbeen visited.
 20. A non-transitory computer-readable storage medium ofclaim 19, wherein the computer-readable program code portions furthercomprise instructions that cause the service node to, when performing anaction based on a result of comparing the updated user pattern profilewith the threshold profile, send a message to the user node when a userpattern vector in the updated user pattern profile exceeds a thresholdvector of the threshold profile.